/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.tramite.bc;

import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.cip.esymons.general.bc.CargoFacadeLocal;
import org.cip.esymons.general.be.Area;
import org.cip.esymons.general.be.Cargo;
import org.cip.esymons.general.be.Empleado;

/**
 *
 * @author Freddy Infantes
 */
public class CargoDelegate {
    private CargoFacadeLocal local;

    public CargoDelegate() {
        local = lookupCargoFacade();
    }
    
    public void create(Cargo cargo)
    {
        local.create(cargo);
    }
    
    public void edit(Cargo cargo)
    {
        local.edit(cargo);
    }

    public void remove(Cargo cargo)
    {
        local.remove(cargo);
    }

    public Cargo find(Object id)
    {
        return local.find(id);
    }

    public Cargo buscar(String nombre){
        return local.buscar(nombre);
    }

    public List<Cargo> findAll()
    {
        return local.findAll();
    }

    public List<Cargo> listarXAreayEmpleado(Area area, Empleado empl){
        return local.listarXAreayEmpleado(area, empl);
    }

    public List<Cargo> listarXArea(Area area){
        return local.listarXArea(area);
    }

    public Cargo buscarXArea(String desc, Area area){
        return local.buscarXArea(desc, area);
    }

    public Cargo buscarXTransaccion(Long trans){
        return local.buscarXTransaccion(trans);
    }

     public List<Cargo> paginadorCargo(int cantidad, int posicion, String desc){
        return local.paginadorCargo(cantidad, posicion, desc);
    }

    public int contarPaginadorCargo(String desc){
        return local.contarPaginadorCargo(desc);
    }

    private CargoFacadeLocal lookupCargoFacade() {
        try {
            Context c = new InitialContext();
            return (CargoFacadeLocal) c.lookup("java:comp/env/CargoFacade");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }



}
